package com.wondertek.service.sdk.iotdh.dto.res.doorDetectorPlus;

import com.wondertek.service.sdk.iotdh.dto.res.doorDetector.ArmingInfo;
import com.wondertek.service.sdk.iotdh.dto.res.doorDetector.ExternaSensors;
import com.wondertek.service.sdk.iotdh.dto.res.doorDetector.OverTemperatureAlarm;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * @author xxx
 * @Date 2024/8/12 13:23
 */
@Data
public class DoorDetectorPlusAccessoryInfo {
    @Schema(name = "id", description = "必须 配件id", required = true)
    private String id;

    @Schema(name = "name", description = "⾮必须 配件名称", required = false)
    private String name;

    @Schema(name = "state", description = "配件外设禁用状态")
    private Integer state;

    @Schema(name = "ledEnable", description = "led指示灯使能 false-关闭；true-开启", required = false)
    private Boolean ledEnable;

    @Schema(name = "chime", description = "⻔铃功能使能 true-开，false-关。", required = false)
    private Boolean chime;

    @Schema(name = "powerRegulation", description = "发射功率 ⾼-3 ; 低-1; ⾃动-0", required = false)
    private Integer powerRegulation;

    private ShockSensor shockSensor;
    private TiltSensor tiltSensor;
    private OverTemperatureAlarm overTemperatureAlarm;

    @Schema(description = "24H防区 false-关闭； true-开启", required = false)
    private Boolean defenceStatus24H;

    private List<ArmingInfo> armingInfo;

    @Schema(name = "entryDelay", description = "进⼊布防延迟⽣效时间 0-120s。 单位：s", required = false)
    private Integer entryDelay;

    @Schema(name = "exitDelay", description = "退出布防延迟⽣效时间 0-120s。 单位：s", required = false)
    private Integer exitDelay;

    @Schema(name = "recordEnable", description = "报警联动视频通道使能 ⼊参，必须同时有视频通道，启；关闭", required = false)
    private Boolean recordEnable;

    @Schema(name = "recordChannels", description = "联动视频通道列表", required = false)
    private String[] recordChannels;

    @Schema(name = "signalStrengthTest", description = "信号强度测试，关；开", required = false)
    private Boolean signalStrengthTest;

    @Schema(name = "sensitivityTest", description = "灵敏度测试、探测器测试，关闭；开启", required = false)
    private Boolean sensitivityTest;

    private ExternaSensors externaSensors;

}
